Business to business interaction presents an enormous opportunity for integration and improved efficiency. At the same time, integrating two autonomous businesses in an automated fashion presents several challenges. For example, electronic business communication can require four levels of connectivity. First, the business must be connected by some physical communication media (e.g., phone lines, T1 lines or a wireless connection). Second, both parties must understand the protocol (e.g., TCP/IP) used to communicate over the physical media. Third, businesses must have an agreement as to data both syntactically as well as semantically. Finally, both parties must agree to respond to the data in a pre-determined manner. This includes not only how the data is interpreted, but also the sequence of actions that take place in an interaction between businesses.
Transaction processing systems have lead the way for many ideas in distributed computing and fault-tolerant computing. For example, transaction processing systems have introduced distributed data for reliability, availability, and performance, and fault tolerant storage and processes, in addition to contributing to the client-server model and remote procedure call for distributed computation. Importantly, transaction processing introduced the concept of transaction ACID properties—atomicity, consistency, isolation and durability that has emerged as the unifying concept for distributed computations. Recently, transaction processing systems have been utilized in modeling business workflow systems. This has resulted in the formulation of many business workflow application software systems.
Many applications for workflow tools are internal to a business or organization. With the advent of networked computers and modems, computer systems at remote locations can now easily communicate with one another. This allows computer system workflow applications to be used between remote facilities within a company. Workflow applications can also be of particular utility in processing business transactions between different companies. Automating such processes can result in significant efficiency improvements, not otherwise possible. However, this inter-company application of workflow technology requires co-operation of the companies and proper interfacing of the individual company's existing computer systems.
A fundamental concept of workflow analysis is that many business processes can be interpreted as a sequence of basic transactions called workflows. Workflows have a customer, a performer, and conditions of satisfaction. The customer and performer are roles that participants can take in workflows. In addition, workflows can have observers. In conventional business workflow systems, a transaction comprises a sequence of operations that change recoverable resources and data from one consistent state into another, and if a failure occurs before the transaction reaches normal termination those updates will be rolled back or undone. ACID transactions control concurrency by isolating atomic transitions against each other to create a serializable schedule by delaying updates until committing of transactions. Current business workflow software systems provide scheduling software that requires binding within the scheduling to couple the schedule to real world applications and technologies. The schedule includes code coupling the components of the schedule to application program interface (API) objects and/or server objects for interfacing the schedule with systems within each business or department involved in the business process. These types of schedule software require sophisticated programmers in implementing the software for a given business workflow model. Furthermore, these types of schedule software requires modification of each schedule for different technologies.
Accordingly, there is a strong need in the art for a system and/or method for binding a business workflow process that allows for mitigation of the aforementioned deficiencies.